package com.ruoyi.reportsnhnt.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import com.ruoyi.reportsnhnt.domain.ReportSnhntPhbsjBaDetail;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 普通混凝土配合比设计试验检测记录业务对象 report_snhnt_phbsjsyjcjl_bs_info
 *
 * @author zxs
 * @date 2024-06-21
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportSnhntPhbsjsyjcjlBsInfoBo extends ExcelGeneralBo {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品信息
     */
    @NotBlank(message = "样品信息不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpxx;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 来样时间
     */
    @NotNull(message = "来样时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date yangplysj;

    /**
     * 试验检测日期
     */
    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度(℃)
     */
    @NotBlank(message = "试验条件温度(℃)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件相对湿度(%)
     */
    @NotBlank(message = "试验条件相对湿度(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 设备id(逗号分割)
     */
    @NotBlank(message = "设备id(逗号分割)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 设计强度等级
     */
    @NotBlank(message = "设计强度等级不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shejqddj;

    /**
     * 拌制方法
     */
    @NotBlank(message = "拌制方法不能为空", groups = { AddGroup.class, EditGroup.class })
    private String banzff;

    /**
     * 设计坍落度(mm)
     */
    @NotBlank(message = "设计坍落度(mm)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shejtld;

    /**
     * 成型方法
     */
    @NotBlank(message = "成型方法不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chengxff;

    /**
     * 标准差δ
     */
    @NotBlank(message = "标准差δ不能为空", groups = { AddGroup.class, EditGroup.class })
    private String biaozc;

    /**
     * 养护方式
     */
    @NotBlank(message = "养护方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yanghfs;

    /**
     * 试配强度(MPa)
     */
    @NotBlank(message = "试配强度(MPa)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shipqd;

    /**
     * 养护环境温度
     */
    @NotBlank(message = "养护环境温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yanghhjwd;

    /**
     * 养护环境湿度
     */
    @NotBlank(message = "养护环境湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yanghhjsd;

    /**
     * 水泥强度等级
     */
    @NotBlank(message = "水泥强度等级不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shuinqddj;

    /**
     * 水泥产地
     */
    @NotBlank(message = "水泥产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shuincd;

    /**
     * 粗集料产地
     */
    @NotBlank(message = "粗集料产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cujlcd;

    /**
     * 粗集料表观密度(kg/m³)
     */
    @NotBlank(message = "粗集料表观密度(kg/m³)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cujlbgmd;

    /**
     * 规格种类1
     */
    @NotBlank(message = "规格种类1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String guigzl1;

    /**
     * 规格种类2
     */
    @NotBlank(message = "规格种类2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String guigzl2;

    /**
     * 规格种类3
     */
    @NotBlank(message = "规格种类3不能为空", groups = { AddGroup.class, EditGroup.class })
    private String guigzl3;

    /**
     * 规格种类4
     */
    @NotBlank(message = "规格种类4不能为空", groups = { AddGroup.class, EditGroup.class })
    private String guigzl4;

    /**
     * 比例1(%)
     */
    @NotBlank(message = "比例1(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bil1;

    /**
     * 比例2(%)
     */
    @NotBlank(message = "比例2(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bil2;

    /**
     * 比例3(%)
     */
    @NotBlank(message = "比例3(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bil3;

    /**
     * 比例4(%)
     */
    @NotBlank(message = "比例4(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bil4;

    /**
     * 细集料产地
     */
    @NotBlank(message = "细集料产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String xijlcd;

    /**
     * 细集料表观密度(kg/m³)
     */
    @NotBlank(message = "细集料表观密度(kg/m³)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String xijlbgmd;

    /**
     * 细度模数
     */
    @NotBlank(message = "细度模数不能为空", groups = { AddGroup.class, EditGroup.class })
    private String xidms;

    /**
     * 细集料类型
     */
    @NotBlank(message = "细集料类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String xijllx;

    /**
     * 掺加料名称
     */
    @NotBlank(message = "掺加料名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chanjlmc1;

    /**
     * 掺加料用量
     */
    @NotBlank(message = "掺加料用量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chanjlyl1;

    /**
     * 掺加料名称
     */
    @NotBlank(message = "掺加料名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chanjlmc2;

    /**
     * 掺加料用量
     */
    @NotBlank(message = "掺加料用量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chanjlyl2;

    /**
     * 粉煤灰名称
     */
    @NotBlank(message = "粉煤灰名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fenmhmc;

    /**
     * 粉煤灰产地
     */
    @NotBlank(message = "粉煤灰产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fenmhcd;

    /**
     * 粉煤灰级别
     */
    @NotBlank(message = "粉煤灰级别不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fenmhjb;

    /**
     * 粉煤灰掺量(%)
     */
    @NotBlank(message = "粉煤灰掺量(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fenmhcl;

    /**
     * 矿粉名称
     */
    @NotBlank(message = "矿粉名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String kuangfmc;

    /**
     * 矿粉产地
     */
    @NotBlank(message = "矿粉产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String kuangfcd;

    /**
     * 矿粉掺量(%)
     */
    @NotBlank(message = "矿粉掺量(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String kuangfcl;

    /**
     * 外掺剂名称
     */
    @NotBlank(message = "外掺剂名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String waicjmc1;

    /**
     * 掺量1(%)
     */
    @NotBlank(message = "掺量1(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chanl1;

    /**
     * 外掺剂名称
     */
    @NotBlank(message = "外掺剂名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String waicjmc2;

    /**
     * 掺量2(%)
     */
    @NotBlank(message = "掺量2(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chanl2;

    /**
     * 外掺剂名称3
     */
    @NotBlank(message = "外掺剂名称3不能为空", groups = { AddGroup.class, EditGroup.class })
    private String waicjmc3;

    /**
     * 掺量3(%)
     */
    @NotBlank(message = "掺量3(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chanl3;

    /**
     * 3天强度试验日期
     */
    @NotNull(message = "3天强度试验日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date ssyrq;

    /**
     * 7天强度试验日期
     */
    @NotNull(message = "7天强度试验日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date qsyrq;

    /**
     * 28天强度试验日期
     */
    @NotNull(message = "28天强度试验日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date esyrq;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 检测
     */
    @NotBlank(message = "检测不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jianc;

    /**
     * 记录
     */
    @NotBlank(message = "记录不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jil;

    /**
     * 复核
     */
    @NotBlank(message = "复核不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuh;

    /**
     * 日期
     */
    @NotNull(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date riq;
    //设计稠度(mm)
    private String shejcd;
    //试拌升砼用量
    private String shibstyl;

    private String yonglmc1;
    private String yonglmc2;
    private String yonglmc3;
    private String yonglmc4;
    private String yonglmc5;
    private String yongl1;
    private String yongl2;
    private String yongl3;
    private String yongl4;
    private String yongl5;

    private String yonglmcl1;
    private String yonglmcl2;
    private String yonglmcl3;
    private String yonglmcl4;
    private String yonglmcl5;
//
//    ` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用量名称升1',
//        `yonglmcl2` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用量名称升2',
//        `yonglmcl3` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用量名称升3',
//        `yonglmcl4` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用量名称升4',
//        `yonglmcl5

    private List<ReportSnhntPhbsjBaDetail> detailList;

}
